跳到主要内容

Joint的类对象

描述:

  用于创建可以将物体连接在一起的多种关节的工厂类。

distance

类型: 函数。

描述:

  创建两个物理体之间的距离关节。

签名:

distance: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
anchorA: Vec2,
anchorB: Vec2,
frequency?: number --[[0.0]],
damping?: number --[[0.0]]): Joint

参数:

参数名类型描述
canCollideboolean是否连接到关节的物理体会彼此碰撞。
bodyABody要连接到关节的第一个物理体。
bodyBBody要连接到关节的第二个物理体。
anchorAVec2关节在第一个物理体上的位置。
anchorBVec2关节在第二个物理体上的位置。
frequencynumber关节的频率,单位为赫兹(默认值为 0.0)。
dampingnumber关节的阻尼系数(默认值为 0.0)。

返回值:

返回类型描述
Joint新的距离关节。

friction

类型: 函数。

描述:

  创建两个物理体之间的摩擦关节。

签名:

friction: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
worldPos: Vec2,
maxForce: number,
maxTorque: number): Joint

参数:

参数名类型描述
canCollideboolean是否连接到关节的物理体会彼此碰撞。
bodyABody要连接到关节的第一个物理体。
bodyBBody要连接到关节的第二个物理体。
worldPosVec2关节在游戏世界中的位置。
maxForcenumber可以施加到关节的最大力量。
maxTorquenumber可以施加到关节的最大扭矩。

返回值:

返回类型描述
Joint新的摩擦关节。

gear

类型: 函数。

描述:

  在两个其他关节之间创建齿轮关节。

签名:

gear: function(self: JointClass,
canCollide: boolean,
jointA: Joint,
jointB: Joint,
ratio?: number --[[1.0]]): Joint

参数:

参数名类型描述
canCollideboolean连接到关节的物理体是否可以彼此碰撞。
jointAJoint要连接到齿轮关节的第一个关节。
jointBJoint要连接到齿轮关节的第二个关节。
rationumber齿轮传动比率(默认值为 1.0)。

返回值:

返回类型描述
Joint新的齿轮关节。

spring

类型: 函数。

描述:

  创建两个指定物理体之间的新弹簧关节。

签名:

spring: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
linearOffset: Vec2,
angularOffset: number,
maxForce: number,
maxTorque: number,
correctionFactor?: number --[[1.0]]): Joint

参数:

参数名类型描述
canCollideboolean指定连接的两个物理体是否应该相互碰撞。
bodyABody连接到关节的第一个物理体。
bodyBBody连接到关节的第二个物理体。
linearOffsetVec2在物理体A坐标系下,物理体B的位置减去物理体A的位置。
angularOffsetnumber物理体B的角度减去物理体A的角度。
maxForcenumber关节能够施加的最大力。
maxTorquenumber关节能够施加的最大扭矩。
correctionFactornumber可选的纠正系数,默认为1.0。

返回值:

返回类型描述
Joint创建的关节。

move

类型: 函数。

描述:

  为指定的刚体创建一个新的拖拽关节。

签名:

move: function(self: JointClass,
canCollide: boolean,
body: Body,
targetPos: Vec2,
maxForce: number,
frequency?: number --[[5.0]],
damping?: number --[[0.7]]): MoveJoint

参数:

参数名类型描述
canCollideboolean指定刚体是否可以与其他刚体碰撞。
bodyBody关节连接的刚体。
targetPosVec2刚体应该拖拽到的目标位置。
maxForcenumber关节能够施加的最大力。
frequencynumber可选的频率比率,默认为5.0。
dampingnumber可选的阻尼比率,默认为0.7。

返回值:

返回类型描述
MoveJoint创建的拖拽关节。

prismatic

类型: 函数。

描述:

  创建两个指定刚体之间的新移动关节。

签名:

prismatic: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
worldPos: Vec2,
axisAngle: number,
lowerTranslation?: number --[[0.0]],
upperTranslation?: number --[[0.0]],
maxMotorForce?: number --[[0.0]],
motorSpeed?: number --[[0.0]]): MotorJoint

参数:

参数名类型描述
canCollideboolean指定连接的两个刚体是否应该相互碰撞。
bodyABody连接到关节的第一个刚体。
bodyBBody连接到关节的第二个刚体。
worldPosVec2关节的世界坐标。
axisAnglenumber关节的轴角度。
lowerTranslationnumber可选的下限平移量,默认为0.0。
upperTranslationnumber可选的上限平移量,默认为0.0。
maxMotorForcenumber可选的最大电机力,默认为0.0。
motorSpeednumber可选的电机速度,默认为0.0。

返回值:

返回类型描述
MotorJoint创建的移动关节。

pulley

类型: 函数。

描述:

  在两个物理体之间创建一个滑轮关节。

签名:

pulley: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
anchorA: Vec2,
anchorB: Vec2,
groundAnchorA: Vec2,
groundAnchorB: Vec2,
ratio?: number --[[1.0]]): Joint

参数:

参数名类型描述
canCollideboolean连接的物体是否会相互碰撞。
bodyABody要连接的第一个物理体。
bodyBBody要连接的第二个物理体。
anchorAVec2第一个物体上的锚点的位置。
anchorBVec2第二个物体上的锚点的位置。
groundAnchorAVec2第一个物体上的地面锚点在世界坐标系中的位置。
groundAnchorBVec2第二个物体上的地面锚点在世界坐标系中的位置。
rationumber[可选] 滑轮比率(默认值为1.0)。

返回值:

返回类型描述
Joint滑轮关节。

revolute

类型: 函数。

描述:

  在两个物理体之间创建旋转关节。

签名:

revolute: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
worldPos: Vec2,
lowerAngle?: number --[[0.0]],
upperAngle?: number --[[0.0]],
maxMotorTorque?: number --[[0.0]],
motorSpeed?: number --[[0.0]]): MotorJoint

参数:

参数名类型描述
canCollideboolean连接的物体是否会相互碰撞。
bodyABody要连接的第一个物理体。
bodyBBody要连接的第二个物理体。
worldPosVec2关节将被创建的世界坐标位置。
lowerAnglenumber[可选] 下限角度限制(弧度)(默认为0.0)。
upperAnglenumber[可选] 上限角度限制(弧度)(默认为0.0)。
maxMotorTorquenumber[可选] 关节施加的最大扭矩以达到目标速度(默认为0.0)。
motorSpeednumber[可选] 关节的期望速度(默认为0.0)。

返回值:

返回类型描述
MotorJoint旋转关节。

rope

类型: 函数。

描述:

  在两个物理体之间创建绳子关节。

签名:

rope: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
anchorA: Vec2,
anchorB: Vec2,
maxLength: number): Joint

参数:

参数名类型描述
canCollideboolean连接的物体是否会相互碰撞。
bodyABody要连接的第一个物理体。
bodyBBody要连接的第二个物理体。
anchorAVec2第一个物体上的锚点的位置。
anchorBVec2第二个物体上的锚点的位置。
maxLengthnumber[可选] 锚点之间的最大距离(默认为0.0)。

返回值:

返回类型描述
Joint绳子关节。

weld

类型: 函数。

描述:

  创建两个物体之间的焊接关节。

签名:

weld: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
worldPos: Vec2,
frequency?: number --[[0.0]],
damping?: number --[[0.0]]): Joint

参数:

参数名类型描述
canCollideboolean是否允许连接的物体之间发生碰撞。
bodyABody第一个将被连接的物体。
bodyBBody第二个将被连接的物体。
worldPosVec2连接物体的世界位置。
frequencynumber[可选] 关节的刚度频率,默认为 0.0。
dampingnumber[可选] 关节的阻尼比率,默认为 0.0。

返回值:

返回类型描述
Joint新创建的焊接关节。

wheel

类型: 函数。

描述:

  创建两个物体之间的轮子关节。

签名:

wheel: function(self: JointClass,
canCollide: boolean,
bodyA: Body,
bodyB: Body,
worldPos: Vec2,
axisAngle: number,
maxMotorTorque?: number --[[0.0]],
motorSpeed?: number --[[0.0]],
frequency?: number --[[2.0]],
damping?: number --[[0.7]]): MotorJoint

参数:

参数名类型描述
canCollideboolean是否允许连接的物体之间发生碰撞。
bodyABody第一个将被连接的物体。
bodyBBody第二个将被连接的物体。
worldPosVec2连接物体的世界位置。
axisAnglenumber关节轴的角度,以弧度为单位。
maxMotorTorquenumber[可选] 关节电机可以施加的最大力矩,默认为 0.0。
motorSpeednumber[可选] 关节电机的目标速度,默认为 0.0。
frequencynumber[可选] 关节的刚度频率,默认为 2.0。
dampingnumber[可选] 关节的阻尼比率,默认为 0.7。

返回值:

返回类型描述
MotorJoint新创建的轮子关节。

__call

类型: 元方法。

描述:

  根据给定的关节定义和物理体字典创建关节实例,字典中包含需要连接的物理体。

签名:

metamethod __call: function(self: JointClass, def: JointDef, itemDict: Dictionary): Joint

参数:

参数名类型描述
defJointDef关节定义。
itemDictDictionary包含创建关节相关的物理体和关节对象的字典。

返回值:

返回类型描述
Joint新创建的关节。